For digital video compression, intra-prediction and motion compensated inter-frame coding are very effective compression techniques and have been widely adopted in various coding standards, such as MPEG-1/2/4 and H.261/H.263/H.264/AVC. In most coding systems, a macroblock, consisting of 16×16 pixels, is primarily used as a unit for motion estimation and subsequent processing. Nevertheless, in the recent development of the next generation standard named High Efficiency Video Coding (HEVC), a more flexible block structure is being adopted as a unit for processing. The unit of this flexible block structure is termed as coding unit (CU). The coding unit can start with a largest coding unit (LCU) and is adaptively divided into smaller blocks using a quadtree to achieve a better performance Blocks that are no longer split into smaller coding units are called leaf CUs, and video data in the same leaf CU are subject to the coding configuration and share the same coding information. The quadtree partition can be recursively applied to each of the LCUs until it reaches the smallest CU, the sizes of the LCU and the smallest CU (SCU) are properly selected to balance the tradeoff between system complexity and performance.
In the H.264/AVC coding standard, the underlying video frames are divided into slices, where each slice consists of non-overlapping macroblocks as the smallest coding unit. Each slice can be coded as an I-slice (intra-coded slice), P-slice (predictive slice) or B-slice (bi-directional slice) and the compressed data are packed into slice-layer data. Since the slice is independently processed, errors or missing data from one slice cannot propagate to any other slice within the picture. Furthermore, redundant slices are permitted for robust transmission. In the recent HEVC development, a slice contains multiple LCUs instead of macroblocks. Furthermore, HEVC may allow a slice to contain a fractional number of LCUs to provide fine coding granularities in the future. On the other hand, HEVC adopts deblocking filtering and adaptive loop filtering to improve objective as well as subjective quality. Both deblocking filtering and adaptive loop filtering operate on an underlying pixel and its neighboring pixels. Consequently, the use of deblocking filtering and adaptive loop filtering at slice boundaries will cause the loss of independent processing feature of slice structure. If deblocking filtering and adaptive loop filtering are not applied to slice boundaries, artifacts may be noticeable at slice boundaries. It is desirable to develop a method and apparatus of video filtering and processing that can overcome the issue of data dependency on neighboring slices at slice boundaries.